import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import { fileURLToPath, URL } from 'node:url'

// 兼容nodejs require 方法
import commonjs from 'vite-plugin-commonjs'

// 加载自动导入的插件
import AutoImport from 'unplugin-auto-import/vite'

// 加载自动生成路由插件
import Pages from 'vite-plugin-pages'

//加载scope-css插件
import { reactScopedCssPlugin } from 'rollup-plugin-react-scoped-css'


// https://vite.dev/config/
export default defineConfig({
  plugins: [
        react(),
        commonjs(),
        reactScopedCssPlugin(),
        AutoImport({
            imports: ['react', 'react-router-dom']
        }),
        Pages({
            dirs: 'src/views',  // 需要生成路由的组件目录
            exclude: ['**/components/*.tsx']  // 排除在外的目录，即所有 components 目录下的 .tsx 文件都不会生成路由
        }),
    ],
    resolve: {
        alias: {
          '@': fileURLToPath(new URL('./src', import.meta.url))
        }
      },
      server:{ //开发服务器的配置
        //反向代理
        proxy:{
          '/hotel':{
            target:"http://www.fastadmin.com/hotel", //反向代理的目标地址
            changeOrigin: true, //允许跨域
            //替换掉hotel前缀 防止多个hotel地址
            rewrite: (path) => path.replace(/^\/hotel/, '')
          }
        }
      }
})
